Linear Regression Model তৈরি এবং মূল্যায়ন
Linear Regression হল একটি পরিসংখ্যানিক মডেল, যা দুটি চলকের (variables) মধ্যে সম্পর্ক বিশ্লেষণ করতে ব্যবহৃত হয়। R প্রোগ্রামিং ভাষায় সহজেই লিনিয়ার রিগ্রেশন মডেল তৈরি এবং মূল্যায়ন করা যায়। সাধারণত লিনিয়ার রিগ্রেশনে একটি চলক বা ভেরিয়েবলকে নির্ভরশীল (dependent) এবং অন্যটিকে স্বাধীন (independent) হিসেবে ধরা হয়।
লিনিয়ার রিগ্রেশনের সাধারণ সমীকরণ:
\[
Y = \beta_0 + \beta_1 X + \epsilon
\]
এখানে,
- \( Y \) হল নির্ভরশীল ভেরিয়েবল।
- \( X \) হল স্বাধীন ভেরিয়েবল।
- \( \beta_0 \) হল ইন্টারসেপ্ট (intercept)।
- \( \beta_1 \) হল X এর জন্য স্লোপ (slope)।
- \( \epsilon \) হল ত্রুটি বা অবশিষ্ট মান।
১. Linear Regression Model তৈরি করা
R-এ lm() ফাংশন ব্যবহার করে লিনিয়ার রিগ্রেশন মডেল তৈরি করা যায়।
উদাহরণ:
# উদাহরণ ডেটাসেট তৈরি করা
# স্বাধীন ভেরিয়েবল X এবং নির্ভরশীল ভেরিয়েবল Y
set.seed(123)
X <- rnorm(50, mean = 10, sd = 5)
Y <- 2 + 0.5 * X + rnorm(50, mean = 0, sd = 1)
# লিনিয়ার রিগ্রেশন মডেল তৈরি করা
model <- lm(Y ~ X)
# মডেল সারাংশ দেখা
summary(model)এখানে, lm(Y ~ X) নির্দেশ করে যে Y নির্ভরশীল ভেরিয়েবল এবং X স্বাধীন ভেরিয়েবল। summary(model) ফাংশনের মাধ্যমে মডেলের বিস্তারিত তথ্য দেখা যাবে, যেমন Coefficients, R-squared মান, p-value ইত্যাদি।
২. Model Coefficients বিশ্লেষণ
summary(model) থেকে প্রাপ্ত Coefficients থেকে আমরা ইন্টারসেপ্ট (\( \beta_0 \)) এবং X এর স্লোপ (\( \beta_1 \)) এর মান জানতে পারি। এই মানগুলি আমাদের মডেলের সমীকরণ তৈরিতে সহায়তা করে।
উদাহরণ:
# Coefficients দেখা
coefficients(model)এই কোডের মাধ্যমে ইন্টারসেপ্ট এবং স্লোপের মান পাওয়া যাবে।
৩. Model Prediction (প্রেডিকশন করা)
মডেল তৈরি করার পর এটি দিয়ে নির্ধারিত X ভ্যালুগুলোর জন্য Y এর প্রেডিকশন করা যায়। এর জন্য predict() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
# নতুন ডেটার জন্য প্রেডিকশন
new_data <- data.frame(X = c(8, 10, 12))
predicted_Y <- predict(model, new_data)
print(predicted_Y)এখানে, new_data-এর জন্য Y এর প্রেডিক্টেড মান বের করা হয়েছে।
৪. Model মূল্যায়ন (Model Evaluation)
লিনিয়ার রিগ্রেশন মডেলের মূল্যায়ন করতে সাধারণত নিম্নোক্ত মানদণ্ডগুলি ব্যবহৃত হয়:
৪.১. R-squared (R²)
R-squared হল একটি পরিমাপ যা মডেল কতটুকু ডেটা ফিট করতে পারছে তা বোঝায়। এটি ০ থেকে ১ এর মধ্যে থাকে এবং ১ মানে মডেল সম্পূর্ণরূপে ডেটাকে ফিট করছে।
summary(model)$r.squared৪.২. Adjusted R-squared
Adjusted R-squared হল R-squared এর সংশোধিত সংস্করণ, যা মডেলের স্বাধীন চলকের সংখ্যাকে বিবেচনায় নেয়।
summary(model)$adj.r.squared৪.৩. Mean Squared Error (MSE)
MSE হল প্রেডিক্টেড মান এবং আসল মানের মধ্যে গড় বর্গ ত্রুটি। এটি মডেলের গুণমান মূল্যায়ন করে।
# প্রেডিক্টেড মান বের করা
predicted <- predict(model)
# MSE নির্ধারণ করা
MSE <- mean((Y - predicted)^2)
print(MSE)৪.৪. Residual Standard Error (RSE)
RSE হল Residuals (অবশিষ্ট) এর স্ট্যান্ডার্ড ডেভিয়েশন, যা ডেটা কতটুকু ছড়ানো তার একটি পরিমাপ প্রদান করে।
summary(model)$sigma৪.৫. p-value
p-value আমাদের জানায় যে মডেলের Coefficients গুলি গুরুত্বপূর্ণ কিনা। সাধারণত p-value যদি ০.০৫ এর কম হয়, তাহলে সেটিকে গুরুত্বপূর্ণ ধরা হয়।
৫. Model Visualization
Model visualization বা গ্রাফিক্যাল ভিজ্যুয়ালাইজেশনের মাধ্যমে মডেলের ডেটা ফিট কেমন তা দেখা যায়।
উদাহরণ:
# মূল ডেটা পয়েন্টগুলি প্লট করা
plot(X, Y, main = "Linear Regression", xlab = "X", ylab = "Y")
# মডেল লাইন যোগ করা
abline(model, col = "red")এখানে abline(model, col = "red") নির্দেশ করে যে মডেল অনুযায়ী রিগ্রেশন লাইন যোগ করা হয়েছে, যা X এবং Y এর মধ্যে সম্পর্ক দেখায়।
সম্পূর্ণ উদাহরণ একত্রে
# উদাহরণ ডেটাসেট তৈরি করা
set.seed(123)
X <- rnorm(50, mean = 10, sd = 5)
Y <- 2 + 0.5 * X + rnorm(50, mean = 0, sd = 1)
# লিনিয়ার রিগ্রেশন মডেল তৈরি করা
model <- lm(Y ~ X)
# মডেল সারাংশ দেখা
summary(model)
# Coefficients দেখা
coefficients(model)
# প্রেডিকশন
new_data <- data.frame(X = c(8, 10, 12))
predicted_Y <- predict(model, new_data)
print(predicted_Y)
# মূল্যায়ন
R2 <- summary(model)$r.squared
Adj_R2 <- summary(model)$adj.r.squared
MSE <- mean((Y - predict(model))^2)
RSE <- summary(model)$sigma
print(paste("R-squared:", R2))
print(paste("Adjusted R-squared:", Adj_R2))
print(paste("Mean Squared Error:", MSE))
print(paste("Residual Standard Error:", RSE))
# Visualization
plot(X, Y, main = "Linear Regression", xlab = "X", ylab = "Y")
abline(model, col = "red")সারসংক্ষেপ
- Linear Regression Model:
lm()ফাংশন ব্যবহার করে মডেল তৈরি করা হয়। - Model Coefficients: ইন্টারসেপ্ট এবং স্লোপ বের করা হয়।
- Prediction:
predict()ফাংশনের মাধ্যমে নতুন ডেটার জন্য প্রেডিকশন করা হয়। - Evaluation Metrics: R-squared, Adjusted R-squared, MSE, RSE এবং p-value ব্যবহার করে মডেলের কার্যকারিতা মূল্যায়ন করা হয়।
- Visualization: মূল ডেটা এবং রিগ্রেশন লাইন দেখানোর জন্য
plot()এবংabline()ব্যবহার করা হয়।
এই পদ্ধতিগুলি ব্যবহার করে আপনি R-এ Linear Regression Model তৈরি ও মূল্যায়ন করতে পারবেন, যা ডেটা বিশ্লেষণ ও প্রেডিকশনে সহায়তা করবে।
Read more